Инструмент исследования данных
Многие задачи в области исследования данных можно выполнять и в комерческих вычислительных средах, используя такие инструменты как Microsoft Excel, Statistica, STATA, IBM SPSS (каждый из них предназначен для своих вопросов в области статистических вычислений и обладает своими особенностями), однако языки программирования имеют ряд преимуществ по сравнению с упомянутыми коммерческими продуктами:
- Возможность загружать и работать с любыми типами данных и большим объемом данных.
- Автоматизация вычислений.
- Использование современных алгоритмов машинного обучения.
- Расширяемость путем подключения библиотек.
- Воспроизводимость результатов.
- Хорошие возможности визуализации.
- Кросс-платформенность.
- Работа с Git — распределенной системой управления версиями.
- Бесплатность.
В данном издании мы будем использовать язык программирования R, обладающий следующими преимуществами:
Язык R изначально был создан как статистический язык программирования, следовательно в R реализованы практически все актуальные средства универсальных статистических вычислений, включая специфические алгоритмы для решения узкоспециализированных задач.
В R реализованы одни из лучших в классе возможности для визулизации данных (например, с помощью библиотеки
ggplot2
и ее расширений,rayshader
и т.д.).Также, в R имеется возможность для составления как динамических отчетов (с помощью
Shiny
) в виде интерактивных веб-приложений, так и автоматизированных статических отчетов (с помощьюbookdown
,blogdown
,quarto
и т.д.) с сохранением результатов в различные форматы (например, HTML или Word).Язык R хорошо подходит для работы с географически распределенными данными (в библиотеках
Leaflet
,terra
,stars
и т.д.).В R есть сообщество, которое активно участвует в обсуждениях лучших практик, устранении неполадок, исправлении ошибок, тестировании и разработке языка.
Современный R представляет собой техническую и социальную экосистему, обеспечивающая соответствующий уровень корректности и воспроизводимости, который вы получаете при последовательной реализации задач.